home *** CD-ROM | disk | FTP | other *** search
/ PC Elektro 3 / PC-Elektro-3-cd1.bin / KBan 2.0 / KBANSRC.LZH / SRC / PROG / CMD / STMVLINE.H < prev    next >
Encoding:
C/C++ Source or Header  |  1997-05-02  |  1.4 KB  |  40 lines

  1. /*
  2.  * a header of the class STAGE_MOVE_LINE_CORE
  3.  * Copyright (C) 1996, 1997 Kazutaka Hirata <khirata@jove.acs.unt.edu>
  4.  */
  5.  
  6. #ifndef _STMVLINE_H_
  7. #define _STMVLINE_H_
  8.  
  9. #include "cmnmcur.h"
  10. #include "../kbanfunc.h"
  11.  
  12. class STAGE_MOVE_LINE_CORE : public STAGE {
  13. protected:
  14.   LINE_ELEMENT*               m_target;
  15.   uint                        m_old_active_layer;
  16.   FLAG                        m_done;
  17.   EDIT_MOVE_LINE_MOUSE_CURSOR m_mcur;
  18.   XY                          m_ac_base;
  19. private:
  20.   FLAG                        m_moved;
  21.   XY                          m_pc_old;
  22.  
  23.   void erase_selected_line (KBAN_DRAW& draw);
  24.   void redraw_selected_line(KBAN_DRAW& draw);
  25. protected:
  26.   FLAG& moved(void) { return m_moved; }
  27.   XY& pc_old(void) { return m_pc_old; }
  28. public:
  29.   STAGE_MOVE_LINE_CORE(LINE_ELEMENT* target, uint layer, const XY& ac_base);
  30.   STAGE_MOVE_LINE_CORE(LINE_ELEMENT* target, uint layer, const XY& ac_base, const XY& pc_old);
  31.   virtual STAGE* init          (KBAN_INFO& info, KBAN_DRAW& draw);
  32.   virtual STAGE* redraw        (KBAN_INFO& info, KBAN_DRAW& draw);
  33.   virtual STAGE* mouse_move    (KBAN_INFO& info, KBAN_DRAW& draw, const XY& pc, UINT nFlags);
  34.   virtual STAGE* mouse_left_up (KBAN_INFO& info, KBAN_DRAW& draw, const XY& pc, UINT nFlags);
  35.   virtual STAGE* mouse_right_up(KBAN_INFO& info, KBAN_DRAW& draw, const XY& pc, UINT nFlags);
  36.   virtual void   end           (KBAN_INFO& info, KBAN_DRAW& draw);
  37. };
  38.  
  39. #endif /* _STMVLINE_H_ */
  40.